Refining Objects (Preliminary Summary)
نویسندگان
چکیده
Inspired by Cardelli’s pioneering work, many type disciplines for object-oriented programming are based on enrichments of structural type theories with constructs such as subtyping and bounded polymorphism. A principal benefit of such a formulation is that the absence of “message not understood” errors is an immediate corollary of the type safety theorem. A principal drawback is that the resulting type systems tend to be rather complex in order to accommodate the methodology of object-oriented programming. We consider another approach based on a simple structural type theory enriched with a system of type refinements with which we may express behavioral requirements such as the absence of “message not understood” errors. Ensuring this property is viewed as a verification condition on programs that use dynamic dispatch, which we construe as an abstract type of objects supporting instantiation and messaging operations. At the structural level dynamic dispatch may fail, but at the behavioral level this possibility is precluded. To validate this approach we give an interpretation of Featherweight Java (FJ), a widely-used model of object-oriented programming, that comprises a compilation into dynamic dispatch, and an interpretation of the class table as a system of type refinements. We show that welltyped FJ programs translate to well-typed and well-refined programs, from which we deduce the same safety guarantees as are provided by FJ. More importantly, the behavioral formulation may be scaled to verify the absence of other behaviors, such as down-cast errors, that are not easily handled using only structural types.
منابع مشابه
Preliminary Archaeometallurgical Investigations of Bronze Age Metal Finds from Shahdad and Tepe Yahya
Shahdad and Yahya which are two important prehistoric sites in the Kerman Province, are of most important forArchaeometallurgical studies. During excavations at these sites a number of metal objects have been discovered.Moreover, evidence of metal working on the surface testify to manifacturing of metal objects. This also shows that thesite might have experienced craft specialization.The follow...
متن کاملThe Secret Lives of Assumptions: Developing and Refining Assumption Personas for Secure System Design
Personas are useful for obtaining an empirically grounded understanding of a secure system’s user population, its contexts of use, and possible vulnerabilities and threats endangering it. Often, however, personas need to be partially derived from assumptions; these may be embedded in a variety of different representations. Assumption Personas have been proposed as boundary objects for articulat...
متن کاملEMISSION-LINE OBJECTS FROM A PRELIMINARY UKST OBJECTIVE PRISM SURVEY
A visual search has been made of four fields using United Kingdom 1.2m Schmidt Objective Prism plates with a reciprocal dispersion of 1 180 A/mm at HP. Such plate material is ideally suited to searches for emission-line galaxies. We present a catalogue of 53 emission-line objects, which comprises 45 galaxies, where individual HI1 regions are resolved in 16 bright galaxies; 8 are emission li...
متن کاملOOExpert: An Agent Based System for Identifying and Refining Objects from Software Requirements Based on Object Based Formal Specification
This paper examines the issues associated with the methodology for object identification and refinement, and also the use of multi-agent system approach for collaborative object-oriented analysis and design. We propose an agent based system called OOExpert for solving problems on object model creation process by identifying and refining objects from software requirements based on object based f...
متن کاملA Methodology for Identifying and Refining Objects from the Software Requirements Based on Object-Based Formal Specification
This paper presents a methodology for object identification and refinement from the software requirements, which is based on object-based formal specification (OBFS). This methodology provides the mean of understanding the object-oriented paradigm easily, and supports us with identifying and refining the objects. As a case study, we have implemented a system for supporting the program committee...
متن کامل